home *** CD-ROM | disk | FTP | other *** search
/ TPUG - Toronto PET Users Group / TPUG Users Group CD / TPUG Users Group CD.iso / COMAL / U-User Group / (k)u8.d64 / quicksort'vert.l < prev    next >
Text File  |  2007-02-28  |  923b  |  34 lines

  1. 9000 // *** "QUICKSORT'VERT.L" *** //
  2. 9010 // FOR USE WITH DEMO'QUICKSORT
  3. 9020 // CHECK NAME CHANGES VERTICAL
  4. 9030 // OTHERWISE FROM P.165 ROY ATHERTON
  5. 9040 //
  6. 9050 DIM NAME$(11) OF 3, COMP$ OF 3, TEMP$ OF 3
  7. 9060 FOR K:=1 TO 11 DO READ NAME$(K)
  8. 9070 FOR K:=1 TO 11 DO PRINT NAME$(K);
  9. 9080 //
  10. 9090 QUICK(1,11)
  11. 9100 //
  12. 9110 PRINT 
  13. 9120 FOR K:=1 TO 11 DO PRINT NAME$(K);
  14. 9130 //
  15. 9140 PROC QUICK(TEND,BEND) 
  16. 9150 TOP:=TEND; BOT:=BEND
  17. 9160 COMP$:=NAME$((TOP+BOT) DIV 2)
  18. 9170 REPEAT 
  19. 9180 WHILE NAME$(TOP)<COMP$ DO TOP:=TOP+1
  20. 9190 WHILE NAME$(BOT)>COMP$ DO BOT:=BOT-1
  21. 9200 IF TOP<=BOT THEN SWAP
  22. 9210 UNTIL TOP>BOT
  23. 9220 IF TEND<BOT THEN QUICK(TEND,BOT)
  24. 9230 IF TOP<BEND THEN QUICK(TOP,BEND)
  25. 9240 ENDPROC QUICK
  26. 9250 //
  27. 9260 PROC SWAP 
  28. 9270 TEMP$:=NAME$(TOP)
  29. 9280 NAME$(TOP):=NAME$(BOT)
  30. 9290 NAME$(BOT):=TEMP$
  31. 9300 TOP:=TOP+1; BOT:=BOT-1
  32. 9310 ENDPROC SWAP
  33. 9320 DATA "JIM","BEN","ALF","PAT","VAL","KEN","RON","HAL","LEN","ZOE","TOM"
  34.